<?php
/**
 * 蓄电池 数据解析处理
 */

namespace app\logic\F6DataAnalysis;

use think\facade\Db;
use think\Exception;

class StorageBatteryData implements DataBaseInterface
{

    public function analysis($data, $vin, $room_info)
    {
        $proArr = [];
        // 处理蓄电池 $data[$searchType['蓄电池']
        foreach ($data as $k => $v) {
            $text = '';

            if (!isset($v['不同品牌的数据'])) {
                throw new Exception('数据结构错误-3');
            }

            // 验证是否存在 埃克塞德/EXIDE
            foreach ($v['不同品牌的数据'] as $vv) {

                // 有埃克塞德直接获取 埃克塞德 没有的使用 瓦尔塔/VARTA 进行数据匹配

                $key = '';
                $currentPro = '';
                foreach ($vv as $kkk => $vvv) {
                    if ($kkk === $room_info['brands']['need']) {
//                        记录当前的型号
                        $key = $room_info['brands']['need'];
                        $currentPro = $vvv['value'];
                        break;
                    }
                }
//
                // 未查询到 需要的，开始取对标数据
                if ($key === '') {
                    foreach ($vv as $kkk => $vvv) {
                        if ($kkk === $room_info['brands']['benchmarking']) {
                            // 记录当前的型号
                            $key = $room_info['brands']['benchmarking'];
                            $currentPro = $vvv['value'];
                            break;
                        }
                    }
                }

                // 此时查询到数据
                if ($key !== '') {

                    $info = Db::name('product_comparison')
                        ->where('key_1', '=', $currentPro)
                        ->where('room_id', '=', $room_info['room_id'])
                        ->find();
                    if (empty($info)) {
                        $info = Db::name('product_comparison')
                            ->where('key_2', '=', $currentPro)
                            ->where('room_id', '=', $room_info['room_id'])
                            ->find();
                    }

                    // 不同房间号，进行数据定制【小李补胎和郑州鸿飞店铺】
                    if ($room_info['room_id'] === 'wry5rPBwAA-o_hFJC17JBqOremRxkU5w' || $room_info['room_id'] === 'wry5rPBwAAFoJ9gfe5eYMH4-nZhS4JRA') {
                        // 构建消息服务
                        if (empty($info)) {
                            $text = '未查询到可用数据，可联系管理员进行补充';
                        } else {

                            // 构建特殊品牌数据
                            if (in_array($info['key_1'], [
                                '066-20', '066-27', '27-66', '27-66（YT）', '56318', 'T6-66-L-T2-H'
                            ])) {
                                // 存在数据，构建消息服务[品牌一]
                                $text = '🔖 电池品牌：埃克塞德/EXIDE \n ' .
                                    '🔋 电池型号：' . $info['key_1'] . ' / ' . 'T6' .
                                    ' \n 🤖️零售价格：' . $info['key_1_retail_price'] . ' / ' . '510.00' .
                                    ' \n ';
                            } else {
                                // 存在数据，构建消息服务[品牌一]
                                $text = '🔖 电池品牌：埃克塞德/EXIDE \n ' . '🔋 电池型号：' . $info['key_1'] . ' \n 🤖️零售价格：' . $info['key_1_retail_price'] . ' \n ';
                            }

                            if (!empty($info['reference_model'])) {
                                // 构建品牌2数据
                                $text .= ' \n ';

                                $text .= '🔖 电池品牌：易赛达 \n 🔋 电池型号：' . $info['reference_model']  . ' \n 🤖️零售价格：' . $info['retail_price'] . ' \n ';
                            }
                        }
                    } else {
                        // 特殊处理【门店】
                        if ($room_info['room_id'] === 'wry5rPBwAA2obV5ZTjGjffzEsfjjR-SA') {
                            $text .= '🔖 电池品牌：' . $room_info['brands']['need'] . '  \n ' . '🔋 电池型号：' . $info['key_1'] . ' \n ';
                            // 门店采购价
                            $text .= '📌 门店采购价：' . ($info['store_purchase_price'] > 0 ? $info['store_purchase_price'] : '--') . ' \n ';
                            // 门店销售价
                            $text .= '🏷️ 门店销售价：' . ($info['store_sales_price'] > 0 ? $info['store_sales_price'] : '--') . ' \n ';
                            $text .= '🗓️ 质保期：' . $info['warranty'] . ' \n ';

                            $orderCode = '--';
                            if (! empty($info['order_code'])) {
                                $orderCode = $info['order_code'];
                            }
                            $text .= '🛍️ 下单码：' . $orderCode . ' \n ';
                        } else {

                            // 需要强制替换
                            if ($room_info['brands']['forced_replacement'] === true) {
                                if (!$info) {
                                    //
                                    $text .= '🔖 电池品牌：' . $room_info['brands']['need'] . '  \n ' . '🔋电池型号：' . $currentPro . ' \n ' . ' 🏷️ 京东到手价：-- \n ';
                                } else {
                                    // 展示 埃克塞德/EXIDE

                                    $price = ' 🏷️ 京东到手价： ' . $info['price'] . ' \n ';
                                    if ($info['price'] <= 0) {
                                        $price = '';
                                    }
                                    $text .= '🔖 电池品牌：' . $room_info['brands']['need'] . '  \n ' . '🔋电池型号：' . $info['key_1'] . ' \n ' . $price;

                                    $text = trim($text);

                                    // 需要参考数据
                                    if (isset($room_info['need_refer']) && $room_info['need_refer'] === true) {
                                        if (!empty($info['reference_model'])) {
                                            $text .= '🆚 参考型号：' . $info['reference_model'] . ' \n 🏷️ 成本价格：' . $info['cost_price'] . ' \n 🤖️零售价格：' . $info['retail_price'] . ' \n ';
                                        } else {
                                            $text .= '🏷️ 成本价格：' . $info['cost_price'] . ' \n 🤖️零售价格：' . $info['retail_price'] . ' \n ';
                                        }
                                    }
                                }
                            } else {
                                // 非强制替换，查到什么是什么
                                if (!$info) {
                                    // 数据库不存在数据，查到什么返回什么
//                            $text .= '🔖 电池品牌：' . $room_info['brands']['benchmarking'] . '  \n ' . '🔋电池型号：' . $currentPro . ' \n ' . ' 🏷️ 京东到手价：-- \n ';
                                    $text .= '🔖 电池品牌：' . $key . '  \n ' . '🔋电池型号：' . $currentPro . ' \n ';
                                } else {

                                    $price = ' 🏷️ 京东到手价： ' . $info['price'] . ' \n ';
                                    if ($info['price'] <= 0) {
                                        $text .= '🔖 电池品牌：' . $room_info['brands']['need'] . '  \n ' . '🔋电池型号：' . $info['key_1']  . ' \n ';
                                    } else {
                                        // 数据库存在数据，正常返回数据
                                        $text .= '🔖 电池品牌 ：' . $room_info['brands']['need'] . '  \n ' . '🔋电池型号：' . $info['key_1'] . ' \n ' . $price;
                                    }

                                    // 移除字符串两边的换行
                                    $text = trim($text);

                                    // 需要参考数据
                                    if (isset($room_info['need_refer']) && $room_info['need_refer'] === true) {

                                        $currentCostMoney = '';
                                        if (isset($room_info['cost_money']) && $room_info['cost_money'] === true) {
                                            // 需要成本价
                                            $currentCostMoney = '🏷️ 成本价格：' . $info['cost_price'];
                                        }

                                        if (!empty($info['reference_model'])) {
                                            $text .= '🆚 参考型号：' . $info['reference_model'] . ' \n ' . $currentCostMoney . ' \n 🤖️零售价格：' . $info['retail_price'] . ' \n ';
                                        } else {
                                            $text .= $currentCostMoney . ' \n 🤖️零售价格：' . $info['retail_price'] . ' \n ';
                                        }

                                    }
                                }
                            }
                        }
                    }
                    break;
                }
            }

            var_dump('打印结果：');
            var_dump($text);

            // 原版本
            $proArr[$k] = $text ?? '未查询到可用数据！';

            // 存在库存描述
            if (! empty($info['inventory_remarks'])) {
                $proArr[$k] .= '🧳 库存：' . $info['inventory_remarks'] . ' \n ';
            }
        }

        return $proArr;
    }

    // 拼接发送消息文本
    public function buildMessage($vin, $car_name, $show)
    {
        // TODO: Implement buildMessage() method.
        return '【查询结果】' . ' \n ' . '🌟' . $vin . '🌟' . ' \n\n ' . '🚘 车名：' . $car_name . ' \n\n ' . $show;
    }
}
